home *** CD-ROM | disk | FTP | other *** search
Wrap
//--------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Adv.h" #include "Devices.h" //--------------------------------------------------------------------- #pragma resource "*.dfm" TfrmAdv *frmAdv; //--------------------------------------------------------------------- __fastcall TfrmAdv::TfrmAdv(TComponent* AOwner) : TForm(AOwner) { Dev = frmDevices->Dev; } //--------------------------------------------------------------------------- void __fastcall TfrmAdv::AdvClick(TObject *Sender) { TCheckBox *ch = (TCheckBox*)Sender; VARIANT sVar; if (ch->Checked==true) { sVar.boolVal=true; } else { sVar.boolVal=false; } Dev->DeviceLines->set_AdvancedValue(ch->Tag,sVar); } //--------------------------------------------------------------------------- void __fastcall TfrmAdv::AdvChange(TObject *Sender) { TTrackBar *tb = (TTrackBar*)Sender; VARIANT sVar; sVar.lVal=tb->Position; Dev->DeviceLines->set_AdvancedValue(tb->Tag,sVar); } //--------------------------------------------------------------------------- void __fastcall TfrmAdv::FormShow(TObject *Sender) { Caption = AnsiString("Advanced Properties for ") + Dev->DeviceLines->Name; //sets the title of the form as "Advanced Properties for " + "output source name" int n =Dev->DeviceLines->AdvancedCount; for (int i = 0;i<=n;i++){ Variant a; a = Dev->DeviceLines->get_AdvancedValue(i); AnsiString cap; cap = AnsiString(i+1)+AnsiString(" ")+AnsiString(Dev->DeviceLines->get_AdvancedName(i)); if (a.Type()==varBoolean){ TCheckBox *ch = new TCheckBox(gbOther); ch->Parent = gbOther; ch->Left = 16; ch->Width = 220; ch->Height = 17; ch->Top = 80 + i * 23; ch->Caption = cap; ch->Tag = i; ch->Checked = a; ch->Name = AnsiString("ch") + AnsiString(i); ch->OnClick = AdvClick; }else{ TTrackBar *tb = new TTrackBar(gbOther); tb->Parent = gbOther; tb->Left = 16; tb->Width = 109; tb->Height = 17; tb->Top = 80 + i * 23; tb->Tag = i; tb->ThumbLength = 10; tb->Max = 65535; tb->Frequency = 5000; tb->Position = a; tb->Name = AnsiString("tb") + AnsiString(i); tb->OnChange = AdvChange; TLabel *l = new TLabel(gbOther); l->Parent = gbOther; l->Left = 145; l->Height = 17; l->Top = 80 + i * 23; l->Caption = cap; } gbOther->Height = 113 + Dev->DeviceLines->AdvancedCount * 23; btnClose->Top = gbOther->Top + gbOther->Height + 8; Height = gbOther->Top + gbOther->Height + 70; } } //---------------------------------------------------------------------------